package maple.thelittleredbook.content.dto;

import lombok.Data;
import java.time.LocalDateTime;
import java.util.List;

/**
 * 内容浏览响应DTO
 * 用于用户浏览内容时返回内容详细信息
 */
@Data
public class ContentViewDTO {

    /**
     * 内容ID
     */
    private Long id;

    /**
     * 发布用户ID
     */
    private Long userId;

    /**
     * 发布用户名
     */
    private String username;

    /**
     * 发布用户头像URL
     */
    private String userAvatar;

    /**
     * 内容类型
     */
    private String contentType;

    /**
     * 标题
     */
    private String title;

    /**
     * 文本内容
     */
    private String textContent;

    /**
     * 封面URL
     */
    private String coverUrl;

    /**
     * 点赞数
     */
    private Integer likeCount;

    /**
     * 评论数
     */
    private Integer commentCount;

    /**
     * 浏览数
     */
    private Integer viewCount;

    /**
     * 是否已发布
     */
    private Boolean isPublished;

    /**
     * 当前用户是否已点赞
     */
    private Boolean isLiked;

    /**
     * 创建时间
     */
    private LocalDateTime createdAt;

    /**
     * 更新时间
     */
    private LocalDateTime updatedAt;

    /**
     * 图片列表（如果是图片内容）
     */
    private List<ImageDTO> images;

    /**
     * 视频列表（如果是视频内容）
     */
    private List<VideoDTO> videos;

    /**
     * 图片信息DTO
     */
    @Data
    public static class ImageDTO {
        private Long id;
        private String imageUrl;
        private LocalDateTime createdAt;
    }

    /**
     * 视频信息DTO
     */
    @Data
    public static class VideoDTO {
        private Long id;
        private String videoUrl;
        private LocalDateTime createdAt;
    }
}